Guarded Modules: Adaptively Extending the VMM's Privilege Into the Guest
نویسندگان
چکیده
When a virtual machine monitor (VMM) provides code that executes in the context of a guest operating system, allowing that code to have privileged access to specific hardware and VMM resources can enable new mechanisms to enhance functionality, performance, and adaptability. We present a software technique, guarded execution of privileged code in the guest, that allows the VMM to provide this capability, as well as an implementation for Linux guests in the Palacios VMM. Our system, which combines compile-time, link-time, and runtime techniques, provides the module developer with the following guarantees: (1) A kernel module will remain unmodified and it will acquire privilege only when untrusted code invokes it through developer-chosen, valid entry points with a valid stack. (2) Any execution path leaving the module will trigger a revocation of privilege. (3) The module has access to private memory. The system also provides the administrator with a secure method to bind a specific module with particular privileges implemented by the VMM. This lays the basis for guaranteeing that only trusted code in the guest can utilize special privileges. We give two examples of guarded Linux kernel modules: a network interface driver with direct access to the physical NIC and an idle loop that uses instructions not usually permitted in a guest, but which can be adaptively selected when no other virtual core shares the physical core. In both cases only the guarded module has these privileges. This project is made possible by support from the United States National Science Foundation (NSF) via grant CNS-0709168 and the Department of Energy (DOE) via grant DE-SC0005343.
منابع مشابه
Guarded Modules: Adaptively Extending the VMM’s Privileges Into the Guest
Executing VMM-provided code with privileged access to specific hardware and VMM resources within an untrusted guest operating system can enable new mechanisms to enhance functionality, performance, and adaptability. We present a software technique, guarded execution of privileged code in the guest, that allows the VMM to provide this capability, as well as an implementation for Linux guests in ...
متن کاملGuarded Execution of Privileged Code in the Guest
Allowing a guest to have direct, privileged access to hardware can enhance its performance and functionality. Privileged access to hardware and the VMM also enables and improves the performance of virtualization services by allowing portions of their implementations to be hoisted into the guest, even uncooperatively. However, granting such privilege currently requires that the entire guest be t...
متن کامل$PI$-extending modules via nontrivial complex bundles and Abelian endomorphism rings
A module is said to be $PI$-extending provided that every projection invariant submodule is essential in a direct summand of the module. In this paper, we focus on direct summands and indecomposable decompositions of $PI$-extending modules. To this end, we provide several counter examples including the tangent bundles of complex spheres of dimensions bigger than or equal to 5 and certain hyper ...
متن کاملModules whose direct summands are FI-extending
A module $M$ is called FI-extending if every fully invariant submodule of $M$ is essential in a direct summand of $M$. It is not known whether a direct summand of an FI-extending module is also FI-extending. In this study, it is given some answers to the question that under what conditions a direct summand of an FI-extending module is an FI-extending module?
متن کاملA relative extending module and torsion precovers
We first characterize $tau$-complemented modules with relative (pre)-covers. We also introduce an extending module relative to $tau$-pure submodules on a hereditary torsion theory $tau$ and give its relationship with $tau$-complemented modules.
متن کامل